import axios from 'axios'
import router from '@/router';

// 默认访问地址
// axios.defaults.baseURL = "http://47.98.128.191:3000";

// 请求拦截器
axios.interceptors.request.use((config) => {
  // 请求拦截成功
  // 1. 获取本地存储中的 token
  const token = localStorage.token;
  // 2. 将 token 添加到请求头
  config.headers.Authorization = token;
  // 3. 让请求继续发往后端
  return config;
}, (err) => {
  // 请求拦截失败
  return Promise.reject(err);
});


// 响应拦截器
axios.interceptors.response.use((res) => {
  // 响应成功时
  return res;
}, (err) => {
  // 响应失败时
  if (err && err.response && err.response.status) {
    switch (err.response.status) {
      case 401:
        router.app.$message.error('身份认证失败，请重新登录')
        // 跳转到登录页面
        router.push('/login');
        break;
      case 404:
        err.message = '资源找不到'
        break;
      case 500:
        err.message = '服务器错误';
        break;
      default:
        err.message = '网络出错';
    }
  } else {
    err.message = '网络出错';
  }
  return Promise.reject(err);
})